Please clarify how the input is provided to draw the different panel column in stateMicromaps. Here is an example from the assignment. The first element in each row of the data.frame refers to the first column in each plot. panelDesc = data.frame( type=c('maptail','id','dotconf','dotconf'), lab1=c('','','White Males','White Females'), lab2=c('','','Rate and 95% CI','Rate and 95% CI'), lab3=c('','','Deaths per 100,000','Deaths per 100,000'), col1=c(NA,NA,2,9), col2=c(NA,NA,4,11), col3=c(NA,NA,5,12), ref=c(NA,NA,NA,wflung70US[,1])) The first plot column is to be "maptail" variation on a micromap. The maptail function needs no arguments so the values made available to it are simply place holders. '' from lab1 '' from lab2 '' from lab3 NA from col1 NA from col2 NA from col3 NA from ref The third plot column uses the dotconf function and this requires input. The third values in the rows are 'White Males' from lab1 'Rate and 95% CI' from lab2 'Deaths per 100,000' from lab3 2 from col1 # the data column with the mean 4 from col2 # the data column with the lower bound 5 from col3 # the data colun with the upper bound NA from ref # no reference value to draw Hopefully this clarifies the general approach. A good GUI would clarify the situation. I used the structure above because the rows in a column of a data.frame have to be of the same data type. Thus I cannot store the arguments for each plot column in the corresponding plot description column as would seem natural. Rather the arguments for plot column i are in row i of plot description.